package com.fumin.util;

import org.apache.commons.lang3.StringUtils;

/**
 * 生成项目的level的工具类,仅限在本工程中使用...不是通用类
 * @Author xiayuxuanmin
 * @Date 2019/10/21
 * @Description
 */
public class LevelUtil {
    public static final String SEPARATOR = ".";//设置父子层级之间默认分隔符
    public static final String ROOT = "0";//设置默认的顶级层级为0

    //格式:
    //0(顶级节点的层级)
    //0.1(level为0,并且D为1的节点的子节点所在的层级,即该节点为ID为1的顶级节点的子节点)
    //0.1.2(level为0,并且D为1的节点的子节点的子节点所在的层级,即该节点是level为0.1的子节点)
    //0.1.3
    //0.4
    /**
     *  获取当前节点的子节点的层级level
     * @param parentLevel 父节点的level
     * @param parentId 父节点ID
     * @return 返回格式为:父level.父ID
     */
    public static String calculateLevel(String parentLevel,int parentId){
        if (StringUtils.isBlank(parentLevel)) {
            //如果为顶级,则直接设置为"0"
            return ROOT;
        }else{
            return StringUtils.join(parentLevel,SEPARATOR,parentId);//子节点的层级为:(parentLevel.parentId)
        }
    }
}
